package com.zsqat.common.enums;
/**
 * 错误码和错误信息定义类
    * 1. 错误码定义规则为5为数字
    * 2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 001:系统未知异常
    * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
    * 错误码列表：
    *  10: 通用
    *      001：参数格式校验
    *      002：短信验证码频率太高
    *  11: 商品
    *  12: 订单
    *  13: 购物车
    *  14: 物流
    *  15：用户
    *
    *
    *
    **/
public enum BizCodeEnum {
  // 1. 先定义 enum 实例
  UNKNOWN_EXCEPTION(10000, "系统未知异常"),
  VALID_EXCEPTION(10001, "参数格式校验失败"),
  TO_MANY_REQUEST(10002, "请求流量过大，请稍后再试"),
  SMS_CODE_EXCEPTION(10003, "验证码获取频率太高，请稍后再试"),
  PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
  USER_EXIST_EXCEPTION(15001, "存在相同的用户"),
  PHONE_EXIST_EXCEPTION(15002, "存在相同的手机号"),
  NO_STOCK_EXCEPTION(21000, "商品库存不足"),
  LOGINACCT_PASSWORD_EXCEPTION(15003, "账号或密码错误"),
  ; // 3.最后一个实例结束必须有分号
  private Integer code;
  private String message;

  // 构造函数必须私有
  BizCodeEnum(Integer code, String message) {
    this.code = code;
    this.message = message;
  }

  public Integer getCode() {
    return code;
  }

  public String getMessage() {
    return message;
  }
}

/*
   1. 如果打算自定义自己的方法，那么必须在enum实例序列的最后添加一个分号。
   2. Java 要求必须先定义 enum 实例。
   3. 且枚举类型的构造方法必须为私有方法。
*/
